package com.quanyan.pay.web.request;

import com.quanyan.BaseRequest;
import com.quanyan.common.validation.AtLeastOneNotNull;
import com.quanyan.common.validation.base.Insert;
import com.quanyan.common.validation.base.Query;
import com.quanyan.common.validation.base.Update;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.NotNull;

/**
 * @author songzj
 * @date 16/5/30-20:44
 */
@AtLeastOneNotNull(groups = Query.class,fieldNames = {"id", "partner", "seller", "status"})
public class ReqAlipayAccount extends BaseRequest {

    private static final long serialVersionUID = -7474962080502193770L;

    @NotNull(groups = Update.class)
    private Integer id;

    @NotEmpty(groups = {Insert.class,Update.class})
    private String partner;

    @NotEmpty(groups = Insert.class)
    private String privateKey;

    @NotEmpty(groups = Insert.class)
    private String publicKey;

    @NotEmpty(groups = Insert.class)
    private String seller;

    @NotEmpty(groups = Insert.class)
    private String aliKey;

    private Byte status;

    private String appId;

    public String getAppId() {
        return appId;
    }

    public void setAppId(String appId) {
        this.appId = appId;
    }

    public String getPartner() {
        return partner;
    }

    public void setPartner(String partner) {
        this.partner = partner;
    }

    public String getPrivateKey() {
        return privateKey;
    }

    public void setPrivateKey(String privateKey) {
        this.privateKey = privateKey;
    }

    public String getPublicKey() {
        return publicKey;
    }

    public void setPublicKey(String publicKey) {
        this.publicKey = publicKey;
    }

    public String getSeller() {
        return seller;
    }

    public void setSeller(String seller) {
        this.seller = seller;
    }

    public String getAliKey() {
        return aliKey;
    }

    public void setAliKey(String aliKey) {
        this.aliKey = aliKey;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Byte getStatus() {
        return status;
    }

    public void setStatus(Byte status) {
        this.status = status;
    }
}
